﻿#ifndef CINSPECTION_LIST_WIDGET_H
#define CINSPECTION_LIST_WIDGET_H
/********************************************************************************
** @ Date:2024/03/01
** @ Author: HanJiaXin
** @ Description:机器人巡检任务列表控件
** @ Version:1.0.0
** @ ClassName:
** @ Fun:
********************************************************************************/

#include <QWidget>
#include <QStandardItemModel>
#include <QTimer>
#include "ui_CInspectionListWidget.h"
#include "CRBaseData.h"
#include "CDevBase.h"
class CInspectionListWidget : public QWidget
{
	Q_OBJECT

public:
	CInspectionListWidget(QString sSceneGuid, CRBaseData* pBasicData, CDevBase* pDev, QWidget *parent = nullptr);
	~CInspectionListWidget();

	void refreshList();//刷新列表
	QTimer* m_pTimer;
private:
	void setStyleSheetFile();	//设置界面样式表
	void initConnect();			//初始化槽函数连接
	void initTableView();       //初始化tableview界面
	void initData();			//初始化界面数据

public slots:
	void slotDataRefresh();//定时器刷新
	void slotCustomContextMenu(const QPoint &pos);//tableview右键槽函数

private:
	Ui::CInspectionListWidgetClass ui;
	QString m_sGuid;
	CRBaseData * m_pBasicData;
	QStandardItemModel* m_pModel; //表格数据集
	QMap<int, QString>  m_mapItemType;//巡检项类型
	QMap<int, QString>  m_mapUnit;//不同巡检项对应不同的单位
	QMap<QString, QString> m_mapTaskInfo;//任务信息
	QMap<QString, QString> m_mapTaskResult;//任务执行结果
	
	CDevBase * m_pDev = nullptr;
	int m_nFormNumber;//表格序号
	QMap<QString, QString>m_mapItemId;    //已经显示过的巡检项id  QString巡检项结果GUID
};

#endif // CInspectionListWidget_H